package com.jrx.anytxn.reporting.entity;

import java.math.BigDecimal;
import java.util.Date;

/**
 *  
 * 表:mr_repayment_plan 
 * @author pcc 
 * @date 2020-06-08 
 */
public class MrRepaymentPlan {
    /**
     * 自增主键
     * 表字段:id
     */
    private Long id;

    /**
     * 租户id
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 渠道编号
     * 表字段:channel
     */
    private String channel;

    /**
     * 产品id
     * 表字段:product_id
     */
    private String productId;

    /**
     * 机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 客户编号
     * 表字段:customer_id
     */
    private String customerId;

    /**
     * 计划状态
     * 表字段:plan_status
     */
    private String planStatus;

    /**
     * 贷款业务号
     * 表字段:loan_id
     */
    private String loanId;

    /**
     * 第几期
     * 表字段:billing_tenor
     */
    private Integer billingTenor;

    /**
     * 应还款日期
     * 表字段:paydate
     */
    private Date paydate;

    /**
     * 实际还款日期
     * 表字段:actualpaydate
     */
    private Date actualpaydate;

    /**
     * 宽限期最后一天
     * 表字段:periodpaydate
     */
    private Date periodpaydate;

    /**
     * 应还总金额
     * 表字段:total_amount
     */
    private BigDecimal totalAmount;

    /**
     * 应还本金
     * 表字段:principal_amount
     */
    private BigDecimal principalAmount;

    /**
     * 应还利息
     * 表字段:interest_amount
     */
    private BigDecimal interestAmount;

    /**
     * 应还罚息
     * 表字段:penalty_interest
     */
    private BigDecimal penaltyInterest;

    /**
     * 应还复利
     * 表字段:compound_interest
     */
    private BigDecimal compoundInterest;

    /**
     * 应还费用
     * 表字段:fee_amount
     */
    private BigDecimal feeAmount;

    /**
     * 实还本金
     * 表字段:repay_principal
     */
    private BigDecimal repayPrincipal;

    /**
     * 实还利息
     * 表字段:repay_interest
     */
    private BigDecimal repayInterest;

    /**
     * 实还本金罚息
     * 表字段:repay_penalty_interest
     */
    private BigDecimal repayPenaltyInterest;

    /**
     * 实还利息罚息
     * 表字段:repay_compound_interest
     */
    private BigDecimal repayCompoundInterest;

    /**
     * 已还费用
     * 表字段:repay_fee
     */
    private BigDecimal repayFee;

    /**
     * 本期结清标志
     * 表字段:pay_off_status
     */
    private String payOffStatus;

    /**
     * 结清日期
     * 表字段:payoff_date
     */
    private Date payoffDate;

    /**
     * 当期免除金额
     * 表字段:waived_amount
     */
    private BigDecimal waivedAmount;

    /**
     * 债权转移标识
     * 表字段:bal_trans_flag
     */
    private String balTransFlag;

    /**
     * 延滞天数
     * 表字段:delq_days
     */
    private Integer delqDays;

    /**
     * 当期逾期金额
     * 表字段:over_due_amount
     */
    private BigDecimal overDueAmount;

    /**
     * 逾期本金
     * 表字段:over_principal
     */
    private BigDecimal overPrincipal;

    /**
     * 逾期利息
     * 表字段:over_interest
     */
    private BigDecimal overInterest;

    /**
     * 代偿标识
     * 表字段:compensate_flag
     */
    private String compensateFlag;

    /**
     * 导入日期
     * 表字段:input_date
     */
    private Date inputDate;

    /**
     * 创建时间
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 业务日期
     * 表字段:business_date
     */
    private Date businessDate;

    /**
     * 获取自增主键
     * @return id Long
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置自增主键
     * @param id 自增主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取租户id
     * @return tenantId String
     */
    public String getTenantId() {
        return tenantId;
    }

    /**
     * 设置租户id
     * @param tenantId 租户id
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    /**
     * 获取渠道编号
     * @return channel String
     */
    public String getChannel() {
        return channel;
    }

    /**
     * 设置渠道编号
     * @param channel 渠道编号
     */
    public void setChannel(String channel) {
        this.channel = channel;
    }

    /**
     * 获取产品id
     * @return productId String
     */
    public String getProductId() {
        return productId;
    }

    /**
     * 设置产品id
     * @param productId 产品id
     */
    public void setProductId(String productId) {
        this.productId = productId;
    }

    /**
     * 获取机构号
     * @return organizationId String
     */
    public String getOrganizationId() {
        return organizationId;
    }

    /**
     * 设置机构号
     * @param organizationId 机构号
     */
    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    /**
     * 获取客户编号
     * @return customerId String
     */
    public String getCustomerId() {
        return customerId;
    }

    /**
     * 设置客户编号
     * @param customerId 客户编号
     */
    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    /**
     * 获取计划状态
     * @return planStatus String
     */
    public String getPlanStatus() {
        return planStatus;
    }

    /**
     * 设置计划状态
     * @param planStatus 计划状态
     */
    public void setPlanStatus(String planStatus) {
        this.planStatus = planStatus;
    }

    /**
     * 获取贷款业务号
     * @return loanId String
     */
    public String getLoanId() {
        return loanId;
    }

    /**
     * 设置贷款业务号
     * @param loanId 贷款业务号
     */
    public void setLoanId(String loanId) {
        this.loanId = loanId;
    }

    /**
     * 获取第几期
     * @return billingTenor Integer
     */
    public Integer getBillingTenor() {
        return billingTenor;
    }

    /**
     * 设置第几期
     * @param billingTenor 第几期
     */
    public void setBillingTenor(Integer billingTenor) {
        this.billingTenor = billingTenor;
    }

    /**
     * 获取应还款日期
     * @return paydate Date
     */
    public Date getPaydate() {
        return paydate;
    }

    /**
     * 设置应还款日期
     * @param paydate 应还款日期
     */
    public void setPaydate(Date paydate) {
        this.paydate = paydate;
    }

    /**
     * 获取实际还款日期
     * @return actualpaydate Date
     */
    public Date getActualpaydate() {
        return actualpaydate;
    }

    /**
     * 设置实际还款日期
     * @param actualpaydate 实际还款日期
     */
    public void setActualpaydate(Date actualpaydate) {
        this.actualpaydate = actualpaydate;
    }

    /**
     * 获取宽限期最后一天
     * @return periodpaydate Date
     */
    public Date getPeriodpaydate() {
        return periodpaydate;
    }

    /**
     * 设置宽限期最后一天
     * @param periodpaydate 宽限期最后一天
     */
    public void setPeriodpaydate(Date periodpaydate) {
        this.periodpaydate = periodpaydate;
    }

    /**
     * 获取应还总金额
     * @return totalAmount BigDecimal
     */
    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    /**
     * 设置应还总金额
     * @param totalAmount 应还总金额
     */
    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    /**
     * 获取应还本金
     * @return principalAmount BigDecimal
     */
    public BigDecimal getPrincipalAmount() {
        return principalAmount;
    }

    /**
     * 设置应还本金
     * @param principalAmount 应还本金
     */
    public void setPrincipalAmount(BigDecimal principalAmount) {
        this.principalAmount = principalAmount;
    }

    /**
     * 获取应还利息
     * @return interestAmount BigDecimal
     */
    public BigDecimal getInterestAmount() {
        return interestAmount;
    }

    /**
     * 设置应还利息
     * @param interestAmount 应还利息
     */
    public void setInterestAmount(BigDecimal interestAmount) {
        this.interestAmount = interestAmount;
    }

    /**
     * 获取应还罚息
     * @return penaltyInterest BigDecimal
     */
    public BigDecimal getPenaltyInterest() {
        return penaltyInterest;
    }

    /**
     * 设置应还罚息
     * @param penaltyInterest 应还罚息
     */
    public void setPenaltyInterest(BigDecimal penaltyInterest) {
        this.penaltyInterest = penaltyInterest;
    }

    /**
     * 获取应还复利
     * @return compoundInterest BigDecimal
     */
    public BigDecimal getCompoundInterest() {
        return compoundInterest;
    }

    /**
     * 设置应还复利
     * @param compoundInterest 应还复利
     */
    public void setCompoundInterest(BigDecimal compoundInterest) {
        this.compoundInterest = compoundInterest;
    }

    /**
     * 获取应还费用
     * @return feeAmount BigDecimal
     */
    public BigDecimal getFeeAmount() {
        return feeAmount;
    }

    /**
     * 设置应还费用
     * @param feeAmount 应还费用
     */
    public void setFeeAmount(BigDecimal feeAmount) {
        this.feeAmount = feeAmount;
    }

    /**
     * 获取实还本金
     * @return repayPrincipal BigDecimal
     */
    public BigDecimal getRepayPrincipal() {
        return repayPrincipal;
    }

    /**
     * 设置实还本金
     * @param repayPrincipal 实还本金
     */
    public void setRepayPrincipal(BigDecimal repayPrincipal) {
        this.repayPrincipal = repayPrincipal;
    }

    /**
     * 获取实还利息
     * @return repayInterest BigDecimal
     */
    public BigDecimal getRepayInterest() {
        return repayInterest;
    }

    /**
     * 设置实还利息
     * @param repayInterest 实还利息
     */
    public void setRepayInterest(BigDecimal repayInterest) {
        this.repayInterest = repayInterest;
    }

    /**
     * 获取实还本金罚息
     * @return repayPenaltyInterest BigDecimal
     */
    public BigDecimal getRepayPenaltyInterest() {
        return repayPenaltyInterest;
    }

    /**
     * 设置实还本金罚息
     * @param repayPenaltyInterest 实还本金罚息
     */
    public void setRepayPenaltyInterest(BigDecimal repayPenaltyInterest) {
        this.repayPenaltyInterest = repayPenaltyInterest;
    }

    /**
     * 获取实还利息罚息
     * @return repayCompoundInterest BigDecimal
     */
    public BigDecimal getRepayCompoundInterest() {
        return repayCompoundInterest;
    }

    /**
     * 设置实还利息罚息
     * @param repayCompoundInterest 实还利息罚息
     */
    public void setRepayCompoundInterest(BigDecimal repayCompoundInterest) {
        this.repayCompoundInterest = repayCompoundInterest;
    }

    /**
     * 获取已还费用
     * @return repayFee BigDecimal
     */
    public BigDecimal getRepayFee() {
        return repayFee;
    }

    /**
     * 设置已还费用
     * @param repayFee 已还费用
     */
    public void setRepayFee(BigDecimal repayFee) {
        this.repayFee = repayFee;
    }

    /**
     * 获取本期结清标志
     * @return payOffStatus String
     */
    public String getPayOffStatus() {
        return payOffStatus;
    }

    /**
     * 设置本期结清标志
     * @param payOffStatus 本期结清标志
     */
    public void setPayOffStatus(String payOffStatus) {
        this.payOffStatus = payOffStatus;
    }

    /**
     * 获取结清日期
     * @return payoffDate Date
     */
    public Date getPayoffDate() {
        return payoffDate;
    }

    /**
     * 设置结清日期
     * @param payoffDate 结清日期
     */
    public void setPayoffDate(Date payoffDate) {
        this.payoffDate = payoffDate;
    }

    /**
     * 获取当期免除金额
     * @return waivedAmount BigDecimal
     */
    public BigDecimal getWaivedAmount() {
        return waivedAmount;
    }

    /**
     * 设置当期免除金额
     * @param waivedAmount 当期免除金额
     */
    public void setWaivedAmount(BigDecimal waivedAmount) {
        this.waivedAmount = waivedAmount;
    }

    /**
     * 获取债权转移标识
     * @return balTransFlag String
     */
    public String getBalTransFlag() {
        return balTransFlag;
    }

    /**
     * 设置债权转移标识
     * @param balTransFlag 债权转移标识
     */
    public void setBalTransFlag(String balTransFlag) {
        this.balTransFlag = balTransFlag;
    }

    /**
     * 获取延滞天数
     * @return delqDays Integer
     */
    public Integer getDelqDays() {
        return delqDays;
    }

    /**
     * 设置延滞天数
     * @param delqDays 延滞天数
     */
    public void setDelqDays(Integer delqDays) {
        this.delqDays = delqDays;
    }

    /**
     * 获取当期逾期金额
     * @return overDueAmount BigDecimal
     */
    public BigDecimal getOverDueAmount() {
        return overDueAmount;
    }

    /**
     * 设置当期逾期金额
     * @param overDueAmount 当期逾期金额
     */
    public void setOverDueAmount(BigDecimal overDueAmount) {
        this.overDueAmount = overDueAmount;
    }

    /**
     * 获取逾期本金
     * @return overPrincipal BigDecimal
     */
    public BigDecimal getOverPrincipal() {
        return overPrincipal;
    }

    /**
     * 设置逾期本金
     * @param overPrincipal 逾期本金
     */
    public void setOverPrincipal(BigDecimal overPrincipal) {
        this.overPrincipal = overPrincipal;
    }

    /**
     * 获取逾期利息
     * @return overInterest BigDecimal
     */
    public BigDecimal getOverInterest() {
        return overInterest;
    }

    /**
     * 设置逾期利息
     * @param overInterest 逾期利息
     */
    public void setOverInterest(BigDecimal overInterest) {
        this.overInterest = overInterest;
    }

    /**
     * 获取代偿标识
     * @return compensateFlag String
     */
    public String getCompensateFlag() {
        return compensateFlag;
    }

    /**
     * 设置代偿标识
     * @param compensateFlag 代偿标识
     */
    public void setCompensateFlag(String compensateFlag) {
        this.compensateFlag = compensateFlag;
    }

    /**
     * 获取导入日期
     * @return inputDate Date
     */
    public Date getInputDate() {
        return inputDate;
    }

    /**
     * 设置导入日期
     * @param inputDate 导入日期
     */
    public void setInputDate(Date inputDate) {
        this.inputDate = inputDate;
    }

    /**
     * 获取创建时间
     * @return createTime Date
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取更新时间
     * @return updateTime Date
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置更新时间
     * @param updateTime 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Date getBusinessDate() {
        return businessDate;
    }

    public void setBusinessDate(Date businessDate) {
        this.businessDate = businessDate;
    }
}